# SuperFastPython.com
# пример отмены выполняющейся задачи
import asyncio
 
# определение корутины для задачи
async def task_coroutine():
    # вывод сообщения
    print('executing the task')
    # блокировка на некоторое время
    await asyncio.sleep(1)
 
# главная корутина
async def main():
    # вывод сообщения
    print('main coroutine started')
    # создание задачи и планирование её выполнения
    task = asyncio.create_task(task_coroutine())
    # ожидание
    await asyncio.sleep(2)
    # отмена задачи
    was_cancelled = task.cancel()
    # вывод сведений о том, был ли успешным запрос на отмену задачи
    print(f'was canceled: {was_cancelled}')
    # ожидание
    await asyncio.sleep(1)
    # проверка состояния задачи
    print(f'canceled: {task.cancelled()}')
    print(f'done: {task.done()}')
    # вывод итогового сообщения
    print('main coroutine done')
 
# запуск asyncio-программы
asyncio.run(main())